package com.zhiwang.xiaoqu.di.module

import com.zhiwang.xiaoqu.di.annotation.ActivityScope
import com.zhiwang.xiaoqu.ui.MainActivity
import com.zhiwang.xiaoqu.ui.MoneyDetailListActivity
import com.zhiwang.xiaoqu.ui.PhoneLoginActivity
import com.zhiwang.xiaoqu.ui.about.AboutActivity
import com.zhiwang.xiaoqu.ui.about.ServiceActivity
import com.zhiwang.xiaoqu.ui.message.MessageListActivity
import com.zhiwang.xiaoqu.ui.my.ChangePhoneActivity
import com.zhiwang.xiaoqu.ui.withdraw.WithdrawListActivity
import dagger.Module
import dagger.android.ContributesAndroidInjector


@Module
abstract class ActivityBindModule {

    @ActivityScope
    @ContributesAndroidInjector(modules = [MainActivityModule::class, MainBindModule::class, MainFragmentBindModule::class])
    abstract fun bindMainActivity(): MainActivity

    @ActivityScope
    @ContributesAndroidInjector
    abstract fun bindServiceActivity(): ServiceActivity

    @ActivityScope
    @ContributesAndroidInjector(modules = [WithDrawFragmentModule::class])
    abstract fun bindWithDrawListActivity(): WithdrawListActivity

    @ActivityScope
    @ContributesAndroidInjector
    abstract fun bindChangePhoneActivity(): ChangePhoneActivity

    @ActivityScope
    @ContributesAndroidInjector
    abstract fun bindPhoneLoginActivity(): PhoneLoginActivity

    @ActivityScope
    @ContributesAndroidInjector
    abstract fun bindMsgListActivity(): MessageListActivity

    @ActivityScope
    @ContributesAndroidInjector
    abstract fun bindAboutActivity(): AboutActivity

    @ActivityScope
    @ContributesAndroidInjector
    abstract fun bindMoneyDetailListActivity(): MoneyDetailListActivity
}